package com.qfjy.homework.gaofangxu;

/**
 * TODO 创建实现了 Container 接口的实体类。
 * TODO 该类有实现了 IteratorDemo 接口的内部类 NameIterator。
 * @author : GFX
 * @version : 1.0
 * @date : 2022/11/10 19:15
 */
public class NameRepository implements Container{
    public String[] names={"Spring","SpringMvc","SpringBoot","Git"};

    @Override
    public IteratorDemo getIteratorDemo() {
        //返回一个内部类对象，通过这样的方式让外部来获取此类的内部类对象
        return new NameIterator();
    }
    //内部类实现了Iterator 的接口
    private class NameIterator implements IteratorDemo{
        int index;

        @Override
        public boolean hasNext() {
            //判定是否还有下一个
            if (index<names.length){
                return true;
            }
            return false;
        }

        @Override
        public Object next() {
            if (this.hasNext()){
                //还存在就返回下一个
                return names[index++];
            }
            return null;
        }
    }
}
